package FileDemo;

import java.io.File;

/*
 * File类中的获取方法演示
 * 绝对路径：带根路径
 * 相对路径：不带根路径 test\\haha表示相对路径，这里表示相对于项目day19a来说
 */
public class FileGetFunctionDemo {
    public static void main(String[] args) {
        File file = new File("./src/resources/abc/1.txt");
        //getAbsolutePath()获取绝对路径演示 返回的是路径的字符串 D:\test\123.txt
        //如果File file=new File(""); 参数不指定路径，则输出当前项目的路径F:\newEclipseWorkspace\beike\day19a
        String absolutePath = file.getAbsolutePath();
        System.out.println("absolutePath=" + absolutePath);
        //getAbsoluteFile()获取绝对路径演示 返回的是路径新封装的File类的对象 D:\test\123.txt
        //如果File file=new File(""); 参数不指定路径，则输出当前项目的路径F:\newEclipseWorkspace\beike\day19a
        File absoluteFile = file.getAbsoluteFile();
        System.out.println("absoluteFile=" + absoluteFile);
        //getName()函数  获取的是封装在File类中的文件或者文件夹的最后一级名称 123.txt
        System.out.println("getName()=" + file.getName());
        //getParentFile()函数演示 获得File类中的文件或者文件夹的路径的父目录 封装在在一个File类中D:\test
        System.out.println("getParentFile()=" + file.getParentFile());
        //getParent()函数演示 获得File类中的文件或者文件夹的路径的父目录 封装在String类中 D:\test
        System.out.println("getParent()=" + file.getParent());
        //getPath()表示获得File类中封装的所有内容 D:\test\123.txt
        //如果File file=new File(""); 参数不指定路径，则输出””空字符串
        System.out.println("getPath()=" + file.getPath());
        //getFreeSpace() 函数
        //如果File file=new File("D:\\"); D盘剩余空间是：366774648832
        System.out.println("剩余空间是" + file.getFreeSpace());
        //getTotalSpace() 函数
        //如果File file=new File("D:\\"); D盘总空间是：371056439296
        System.out.println("总空间是" + file.getTotalSpace());
        System.out.println("----------------");
        //调用listRoots()函数获取系统的根目录 由于该函数是静态的，直接使用类名调用即可
        //  输出结果C:\ D:\ E:\ F:\ G:\ H:\
        File[] dirs = File.listRoots();
        for (File dir : dirs) {
            System.out.print(dir + " ");
        }
    }
}
